home *** CD-ROM | disk | FTP | other *** search
- Short: IXemul 45.1
- Author: various
- Uploader: fnf@ninemoons.com
- Type: dev/gcc
-
- This is ixemul.library release 45.1, a shared library that makes it possible
- to compile and run most Unix programs under AmigaOS with almost no changes.
- IXemul is part of the ADE (Amiga Developer's Environment), a community
- effort to produce a complete development environment that is stable,
- available in source, and completely self-hosting. See the ADE readme file
- at ftp://ftp.ninemoons.com/pub/ade/README for more details about ADE.
-
- As of version 43.1, IXemul includes Jeff Shepherd's networking code. If
- ixnet.library (included) is installed then ixemul.library will use the
- networking functions from the ixnet.library, instead of the default dummy
- implementation. Ixnet.library works with AS225 and with AmiTCP. It
- supports both clients and daemons. A program that uses networking functions
- is completely shielded from the AS225 and AmiTCP differences by
- ixnet.library, which will take care of all the details for you. That means
- that there is no longer any need to provide two different binaries, one for
- AS225 and one for AmiTCP. Furthermore, it is relatively easy to add support
- for other network packages.
-
- The following are the changes made since the 45.0 release:
-
- Fixed a bug in the Unix Domain socket code that would
- occasionally cause a client to wait indefinately for a
- connection to be granted, while in fact the server had
- already accepted the connection.
-
- getdtablesize() now returns FD_SETSIZE instead of NOFILE
- (256 instead of 512). The result of this function was used
- by several X clients to discover the number of filehandles
- select() can test. And if that value is to large, you'll get
- unexpected and hard to find crashes. The same change was
- made to sysconf(_SC_OPEN_MAX).
-
- shutdown() could close down the whole Unix domain socket,
- causing a crash when the socket was closed a second time by
- the 'real' close.
-
- rename() now tests for a rename across devices and returns
- the correct error code.
-
- Applied patch from Norbert Pueschel to improve delayed
- unlink.
-
- Closing of Unix domain sockets is now atomic (between
- Forbid/Permit), otherwise the Amiga could crash if the X
- server was running at a higher priority than the client.
-
- Fixed a bug in ixemul.trace that caused Enforcer hits in
- gcc.
-
- Fixed a bug with 'du -ks /volume'. The convert_dir()
- function stored the directory name in Amiga format instead
- of Unix format.
-
- Norbert Pueschel greatly improved uid/gid handling in
- ixemul.library. See the README for detailed information.
-
- Fixed a bug in handling volumes/devices named "dev:". Ixemul
- handles the volume /dev specially (e.g., /dev/console is
- translated to console:) and that interfered with the
- handling of the DEV: device or any volume named DEV:. To
- circumvent the /dev handling you can now use "dev:" instead
- of "/dev" or write "DEV" instead of "dev" (in other words,
- the open() function tests for the string "/dev/" in a
- case-sensitive way).
-
- Due to a clumsy design of the ENV: notification a signal was
- occasionally left unfreed. WShell gives warnings for that,
- so I changed the design and that should take care of the
- warning. The unfreed signal warning was harmless, but
- annoying.
-
- Now fill the file type in the dirent struct. Thanks to Lars
- Hecking for reporting this.
-
- Some AmigaOS programs started from an ixemul program set
- Signals that were allocated by ixemul. This can happen
- because ixemul resets the allocated signal mask in the Task
- structure. Because of that a handshake between the child
- and the parent when the child process is dying failed, and
- Enforcer hits (usually followed by a crash) were the result.
- Fixed by resetting all Signals.
-
- Fixed a bug in the trap.s supervisor() code: you cannot
- safely pass data on the stack to the function to be executed
- in supervisor mode. In fact, this failed with a beta version
- of the 68060.library from Phase 5. Now pass the data through
- registers.
-
- Fixed bug in frexp(0.0, &i) where i was set to 1 instead of
- 0.
-
- Fixed 32 Kb memory leak.
-
- Added tty CRMOD support.
-
- Fixed serious bug in unix domain sockets where a kind of
- deadlock situation could occur.
-
- system() now searches the whole path for 'sh' and doesn't
- use /bin/sh only. Also the paths in paths.h have been
- ADE-dified. Thanks to Robert Davis for pointing out the
- system() problem.
-
- select() on a small file that was stored in memory if the
- user selected a non-zero Membuf size in ixprefs didn't
- produce the expected results. Thanks to Stefan Grosse Pawig
- for reporting this.
-
- The net ixemul library distribution consists of several archives:
-
- ixemul-bin.lha Utils for gnu/bin, like ixtrace and ixconfig
-
- ixemul-sdk.lha Files needed to build applications that use
- ixemul.library.
-
- ixemul-doc.lha Various documentation, such as this file
-
- ixemul-src.lha Complete source code for ixemul library
-
- ixemul-tz.lha Pieces for doing TZ (timezone) management
-
- ixemul-CCCF.lha Specific flavors of the library, where 'CCC'
- is one of 000, 020, 030, or 040, for 68000, 68020,
- 68030, and 68040 respectively, and 'F' is either
- 'f', 's', or 't' for FPU support or soft floating
- point or a "trace" version (also soft float)
- respectively.
-
- For further information consult the NEWS, INSTALL, README and TODO files in
- the documentation archive.
-
- -Fred Fish (fnf@ninemoons.com)
-